package com.cweb.admin.configuration.database;

import javax.sql.DataSource;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 数据源上下文
 * 多数据库元切换保存用
 */
public class DynamicDataSourceContextHolder {
	/**
	 * 数据源
     * 作为AbstractRoutingDataSource的targetDataSources使用
	 */
	private static Map<Object, Object> dataSourceDTOS = new ConcurrentHashMap<Object, Object>();

    /**
     * 使用数据库关键字
     */
    private static String data_source_key = "";

    /**
     * 修改数据库关键字
     */
    public static void setDataSourceKey(String key) {
        data_source_key = key;
    }

    /**
     * 取得数据库关键字
     */
    public static String getDataSourceKey() {
        return data_source_key;
    }

    /**
     * 数据库源储存对象
     */
    public static Map<Object, Object> getDataSourceDTOS() {
		return dataSourceDTOS;
	}

    /**
     * 追加数据库源
     */
	public static void addMonitor(String key, DataSource dataSource) {
		dataSourceDTOS.put(key, dataSource);
	}
}
